package cn.lyjuan.payment.third.base.pay.vo.req;

/**
 * 交易请求
 *
 * @param <D>
 */
public class PayReq<D extends PayReq.IPayReq>
{
    /**
     * 交易订单号
     */
    protected String localNo;

    /**
     * 商品名称
     */
    protected String goods;

    /**
     * 金额，分
     */
    protected Integer amt;

    /**
     * 通知地址
     */
    protected String notifyUrl;

    /**
     * 返回地址
     */
    protected String returnUrl;

    /**
     * 每个支付平台独立的参数
     */
    protected D params;

    public PayReq()
    {
    }

    public PayReq(String localNo, String goods, Integer amt, String notifyUrl, String returnUrl, D params)
    {
        this.localNo = localNo;
        this.goods = goods;
        this.amt = amt;
        this.notifyUrl = notifyUrl;
        this.returnUrl = returnUrl;
        this.params = params;
    }


    public String getLocalNo()
    {
        return localNo;
    }

    public void setLocalNo(String localNo)
    {
        this.localNo = localNo;
    }

    public String getGoods()
    {
        return goods;
    }

    public void setGoods(String goods)
    {
        this.goods = goods;
    }

    public Integer getAmt()
    {
        return amt;
    }

    public void setAmt(Integer amt)
    {
        this.amt = amt;
    }

    public String getNotifyUrl()
    {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl)
    {
        this.notifyUrl = notifyUrl;
    }

    public String getReturnUrl()
    {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl)
    {
        this.returnUrl = returnUrl;
    }

    public D getParams()
    {
        return params;
    }

    public void setParams(D params)
    {
        this.params = params;
    }

    @Override
    public String toString()
    {
        return "PayReq{" +
                ", localNo='" + localNo + '\'' +
                ", goods='" + goods + '\'' +
                ", amt=" + amt +
                ", notifyUrl='" + notifyUrl + '\'' +
                ", returnUrl='" + returnUrl + '\'' +
                ", params=" + params +
                '}';
    }

    /**
     * 渠道支付请求信息接口
     */
    public static interface IPayReq{}
}
